package com.bq.server.core.vo.request;

import com.bq.server.enumeration.ErrorCodeEnum;
import com.bq.server.enumeration.YesOrNoEnum;
import com.bq.server.exception.BusinessException;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.util.Objects;


/**
 * @author: ChenSH
 * 部门请求参数
 **/
@Data
public class DepartmentRequest {

    /**
     * 部门id
     */
    private Long id;

    /**
     * 父级id,无父部门:0
     */
    private Long parentId;

    /**
     * 部门名称
     */
    @NotNull(message = "请选择要修改的部门名称")
    private String deptName;

    /**
     * 是否隐藏部门，1:表示隐藏，0:表示显示
     */
    private YesOrNoEnum deptHiding;

    /**
     * 当前部门在父部门下的所有子部门中的排序值
     */
    private Integer sort;

    /**
     * 添加部门参数校验
     */
    public void checkParams() {
        BusinessException.Assert.isFalse(Objects.isNull(this.deptName),
                ErrorCodeEnum.ERROR_DEPTNAME_IS_NOT.getDescribe());
        BusinessException.Assert.isFalse(Objects.isNull(this.parentId),
                ErrorCodeEnum.ERROR_DEPTPARENTID_IS_NOT.getDescribe());
    }
}
